package com.dragon.modules.yuegou.service.wallet;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dragon.modules.yuegou.entity.wallet.EntityCardRecordEntity;
import com.dragon.modules.yuegou.model.system.Document;
import com.dragon.modules.yuegou.model.wallet.EntityCardRecord;

import java.util.List;
/**
 * 实体卡生成记录 服务接口
 *
 * @author pbuilder generated
 * @date 2021-03-23 10:12:16
 * @version 2.0
 */
public interface EntityCardRecordService extends IService<EntityCardRecordEntity> {

    /**
     * 根据卡号查询实体卡
     * @param cardNo
     * @return
     */
    EntityCardRecord getByCardNo(String cardNo);

    /**
     * 根据卡号查询所有实体卡，包含已注销的
     * @param cardNo
     * @return
     */
    List<EntityCardRecord> listByCardNo(String cardNo);


    void generateCardNo(String id);

    /***
     * 批量激活
     * @param templateId
     */
    void volumeActivationCard(String templateId);

    void batchCancellationCard(String templateId);

    /***
     * 激活卡
     * @param id
     */
    void activationCard(String id);

    /****
     * 注销卡
     * @param id
     */
    void cancellationCard(String id);

    /***
     * 导出卡记录
     * @param id
     * @return
     */
    Document exportCardRecord(String id);

    /**
     * 保存实体卡
     * @param entityCardRecord
     * @return
     */
    EntityCardRecord saveRecord(EntityCardRecord entityCardRecord);
    
    List<EntityCardRecord> listByTemplateIdAndMerId(String templateId,String memberId);
}